package ar.edu.frba.utn.dds.Test;

import java.util.ArrayList;

import org.junit.Before;
import org.junit.Test;

import ar.edu.frba.utn.dds.Expcetion.ConversionException;
import ar.edu.frba.utn.dds.Fecha.Fecha;
import ar.edu.frba.utn.dds.Fecha.Parser;


public class Testing {

	public ArrayList<String> formatosAdicionales;
	public Parser parser = new Parser();
	public Fecha fecha = new Fecha();
	
	@Before
	public void init(){
		
		formatosAdicionales = new ArrayList<String>();
		formatosAdicionales.add("dd-MM-yyyy");

	}
	
	@Test
	public void convertirFecha() throws ConversionException{
	
		parser.convertirFecha("2012-07-14");
		
	}
	
	@Test(expected=ConversionException.class)
	public void convertirFechaConExcepcion() throws ConversionException{
	
		parser.convertirFecha("2012-7-14");
		
	}
	
	@Test
	public void conversionDeFechaIso()throws ConversionException {
		
		parser.convertirFecha("2012-07-14");
		
	}
	
	@Test
	public void conversionDeFechaLatino() throws ConversionException{
		
		parser.convertirFecha("14/07/2012");
		
	}
	
	@Test(expected=ConversionException.class)
	public void conversionDeFechaLatinoConExcepcion() throws ConversionException{
		
		parser.convertirFecha("14/7/2012");
		
	}
	
	@Test(expected=ConversionException.class)
	public void conversionDeFechaAmericano() throws ConversionException{
		
		parser.convertirFecha("07-14-2012");
		
	}

	@Test(expected=ConversionException.class)
	public void fechaAnterior() throws ConversionException{
		fecha.mayorFecha("22-03-2990", "07-14-2012",formatosAdicionales);
	}

	@Test(expected=ConversionException.class)
	public void conversionDeFecha() throws ConversionException{
		
		parser.convertirFecha("22-03-1990", formatosAdicionales);
		
	}
	
	@Test(expected=ConversionException.class)
	public void mayorFecha() throws ConversionException{
		
		fecha.mayorFecha("2012-07-04", "2014-7-04");
		
	}
	
	@Test
	public void fechasDistintas() throws ConversionException{
		
		fecha.diasEntreFechas("2013-07-04", "2012-07-04");
		
	}
	
	@Test(expected=ConversionException.class)
	public void fechasDistintasConExcepcion() throws ConversionException{
		
		fecha.diasEntreFechas("2013-7-04", "2012-07-04");
		
	}
	
	@Test
	public void fechasIguales() throws ConversionException{
		
		fecha.diasEntreFechas("2015-07-04", "2012-07-04");
		
	}
	
	@Test(expected=ConversionException.class)
	public void fechasIgualesConExcepcion() throws ConversionException{
		
		fecha.diasEntreFechas("2015", "2012-07-04");
		
	}
}